Text conversion

ABSTRACT

Methods and system for text conversion are described. In one embodiment, free-form text associated with an item may be received. The item may be identified based on the free-form text. The item may be compatible with a parent item. The parent item may be identified based on the free-form text. An item descriptor may be identified in the free-form text. The item descriptor may be a particular term of the free-form text. Compatibility-based text may be constructed for the item based on identification of the parent item and the item descriptor. The compatibility-based text may be capable of being used to identify a plurality of matching items. Additional methods and systems are disclosed.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. ______(Attorney Docket No. 2043.579US1), filed on ______ (“ITEM CLUSTERING”)and U.S. patent application Ser. No. ______ (Attorney Docket No.2043.580US1), filed on ______ (“ITEM MATCHING”), the contents of whichare incorporated by reference in their entirety.

BACKGROUND

Users may seek information about items that is stored in variouslocations by performing a search query. Queries for items usingfree-form text may not provide a user with desired results.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments are illustrated by way of example and not limitation inthe figures of the accompanying drawings in which:

FIG. 1 is a block diagram of a system, according to example embodiments;

FIG. 2 is a block diagram of a query conversion subsystem that may bedeployed within the system of FIG. 1, according to an exampleembodiment;

FIG. 3 is a block diagram of a clustering subsystem that may be deployedwithin the system of FIG. 1, according to an example embodiment;

FIG. 4 is a block diagram of a compatibility identification subsystemthat may be deployed within the system of FIG. 1, according to anexample embodiment;

FIG. 5 is a block diagram of an analysis subsystem that may be deployedwithin the system of FIG. 1, according to an example embodiment;

FIG. 6 is an example flowchart illustrating a method for text conversionaccording to an example embodiment;

FIG. 7 is a diagram of compatibility data according to an exampleembodiment;

FIG. 8 is an example flowchart illustrating a method for text conversionaccording to an example embodiment;

FIGS. 9 and 10 are flowcharts illustrating a method for query usageaccording to an example embodiment;

FIG. 11 is a flowchart illustrating a method for clustering according toan example embodiment;

FIG. 12 is a diagram of item clusters according to an exampleembodiment;

FIGS. 13-16 is a flowchart illustrating a method for clusteringaccording to an example embodiment;

FIGS. 17-19 is a flowchart illustrating a method for compatibilityidentification according to an example embodiment;

FIG. 20 is a flowchart illustrating a method for item analysis accordingto an example embodiment;

FIG. 21 is a network diagram depicting a network system, according to anexample embodiment, having a client server architecture configured forexchanging data over a network;

FIG. 22 is a block diagram illustrating an example embodiment ofmultiple network and marketplace applications, which are provided aspart of the network-based marketplace; and

FIG. 23 is a block diagram of a machine in the example form of acomputer system within which a set of instructions for causing themachine to perform any one or more of the methodologies discussed hereinmay be executed.

DETAILED DESCRIPTION

Example methods and systems for text conversion are described. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofexample embodiments. It will be evident, however, to one of ordinaryskill in the art that embodiment of the present invention may bepracticed without these specific details.

In an example embodiment, free form search inquiries may be converted tocompatibility-based search inquiries. The compatibility-based searchinquiries may be processed to provide more relevant search results thancorresponding free form search inquiries would provide.

In an example embodiment, clustering may be used to recordinteroperability of one or more items with a parent item. For example,the interoperability may identify car parts that can be used withparticular cars and/or which cars can use various parts, computerperipherals that may be used with particular computer systems and/or thecomputer systems that may work with particular computer peripherals.

In an example embodiment, item matching may be used to locate items(e.g., parts or accessories) that will work with (e.g., fit) aparticular parent item.

In an example embodiment, the method 200 may be used to identifyadditional items that may be of interest to a user based on itemscurrently included in an electronic shopping basket.

FIG. 1 illustrates an example system 100 in which a client machine 102may be in communication with a provider 106 over a network 104. A usermay operate the client machine 102 to communicate with the provider 106to search for items associated with other users of the provider 106.Examples of the client machine 102 include a set-top box (STB), areceiver card, a mobile telephone, a personal digital assistant (PDA), adisplay device, a portable gaming unit, or another type of computingsystem. However, other devices may also be used.

The network 104 over which the client machine 102 and the provider 106communicate may include a Global System for Mobile Communications (GSM)network, an Internet Protocol (IP) network, a Wireless ApplicationProtocol (WAP) network, a WiFi network, or a IEEE 802.11 standardsnetwork as well as various combinations thereof. Other conventionaland/or later developed wired and wireless networks may also be used.

The provider 106 may operate on a computer system maintained orcontrolled by a business entity. For example, the provider 106 may bemaintained by PayPal, Inc. of San Jose, Calif.

An electronic catalog 108 may be used by the client machine 102 and/orthe provider 106 to access information. The electronic catalog 108 mayinclude compatibility data 114 and item data 122. The compatibility data114 may include information regarding the fit or interface between anitem and another item. For example, the compatibility data 114 mayinclude parent items (e.g., car models) with which an item (e.g., aparticular type of engine) is compatible. The item data 122 may includeinformation regarding items available in the electronic catalog 108. Forexample, the item data 122 may include specifications of availableitems.

The electronic catalog 108 may include a parts catalog (e.g., for a caror a computer), a merchandise catalog, and/or a different type ofcatalog. The electronic catalog 108 may be stored in a separate device,within a storage unit of the client machine 102, in the database 110 ofthe provider 106, or may be otherwise stored.

The client machine 102 and/or the provider 106 may also be incommunication with a database 108. The database 110 may store user data116, transaction data 118, and/or one or more item clusters 120. Theuser data 116 may include information regarding users of the provider106. The transactional data 118 may include information regardingtransactions conducted by the provider 106. For example, the sale of anitem from one user to another may be stored in the transactional data116.

One or more processing subsystems 112 may be deployed in the clientmachine 102 and/or the provider 106 to construct compatibility-basedtext for an item, to create an item cluster for one or more items thatassociated with a compatibility identifier for a parent item, toidentify a number of matching items through use of a compatibilityidentifier, and/or identify a non-included item in a shopping basket.

A compatibility search engine 122 may communicate with the clientmachine 102 and/or the provider 106 to receive a request forcompatibility verification, determine that an item is compatible with aparent item and provide compatibility verification in response.

FIG. 2 illustrates an example text conversion subsystem 200 that may bedeployed as the processing subsystem 112 in the client machine 102and/or the provider 106 of the system 100 (see FIG. 1), or that may beotherwise deployed in another system. The text conversion subsystem 200may include a free-form text receiver module 202, a term extractionmodule 204, an item identification module 206, a compatibility datanotification module 208, a compatibility data access module 210, an itemdescriptor identification module 212, a parent item identificationmodule 214, an approval module 216, a compatibility-based textconstruction module 218, an item identifier selection module 220, amatching item identification module 222, an availability determinationmodule 224, a result provider module 226, a query provider module 228,and/or an identification receiver module 230. Other modules may also beincluded. In various embodiments, the modules may be distributed so thatsome of the modules may be deployed in the client machine 102 and someof the modules may be deployed in the provider 106.

The free-form text receiver module 202 receives free-form textassociated with an item. The item may be compatible with a parent item.The item may, in an example embodiment, be a part of the parent item.The term extraction module 204 extracts one or more terms from thefree-form search query.

The item identification module 206 identifies the item based onfree-form text, extraction of the terms and/or an item identifier. Theitem identification module 206 may identify an item name of an item. Theitem name may be among the one or more terms.

The compatibility data notification module 208 provides acompatibility-based notification of availability of acompatibility-based text for the item based on availability of thecompatibility data 114. The compatibility data access module 210accesses the compatibility data 114 for available compatibility-basedsearch queries. The item and the parent item may be associated togetherwithin the compatibility data 114.

The item descriptor identification module 212 identifies an itemdescriptor in the free-form search text. The identification of the itemmay be based on the free-form text, extraction of the terms and/oraccess of the compatibility data 114. The item descriptor may be a termof the extracted terms. The item descriptor may be, by way of example, amake, a model year, an engine type, a part number, or the like.

The parent item identification module 214 identifies a parent item. Theparent item may be identified by the parent item identification module214 from the free-form text. The parent item may be identified by theparent item identification module 214 from extraction of one or moreterms. The parent item may be identified by the parent itemidentification module 214 by requesting identification of the parentitem and receiving identification of the parent item. The parent itemmay be otherwise identified by the parent item identification module214. The approval module 216 provides an approval request to a userbased on identification of the item and receives an approval responsefrom the user.

The compatibility-based text construction module 218 constructscompatibility-based text for an item based on a parent item,identification of an item descriptor, identification of the item,receipt of the approval request, and/or availability of the item cluster120 for the item. The compatibility-based text may be acompatibility-base search query used to search for one or more matchingitems.

The item identifier selection module 220 selects one or more itemidentifiers based on a compatibility-based search query. The matchingitem identification module 222 identifies one or more matching itemsbased on a compatibility-based search query and/or selection one or morethe item identifiers.

The availability determination module 224 determines availability of oneor more matching items. The result provider module 226 provides a resultbased on identification and/or availability of one or more matchingitems. The result may include one or more of the matching items. Thematching items may be, in an example embodiment, compatible parts forthe parent item.

The query provider module 228 provides a compatibility-based searchquery for an item to the compatibility search engine 122. Theidentification receiver module 230 receives identification of the one ormore matching items from the compatibility search engine 122.

FIG. 3 illustrates an example clustering subsystem 300 that may bedeployed may be deployed as the processing subsystem 112 in the clientmachine 102 and/or the provider 106 of the system 100 (see FIG. 1), orthat may be otherwise deployed in another system. The clusteringsubsystem 300 may include a compatibility data access module 302, aparent item identification module 304, a compatibility identificationmodule 306, an item cluster determination module 308, an item clustercreation module 310, an item cluster association module 312, a parentitem association module 314, an association identification module 316, acompatibility verification module 318, an item cluster modificationmodule 320, a notification receiver module 322, a parent itemdetermination module 324, an item verification module 326, and/or anitem removal module 328. Other modules may also be included. In variousembodiments, the modules may be distributed so that some of the modulesmay be deployed in the client machine 102 and some of the modules may bedeployed in the provider 106.

A compatibility data access module 302 accesses the compatibility data114 for an item and/or accesses additional compatibility data 114 for afurther item. The parent item identification module 304 identifies aparticular parent item within the compatibility data 114 and/oridentifies an additional parent item within the compatibility data 114.

The compatibility identification module 306 identifies compatibility ofthe item and the additional item with the particular parent item fromthe compatibility data 114 and/or the additional parent item from thecompatibility data 114.

The item cluster determination module 308 determines existence orabsence of the item cluster 120 for the item and the additional item.The item cluster creation module 310 creates the item cluster 120 forthe item and an additional item based on compatibility of the item andthe additional item with the particular parent item from thecompatibility data 114, identification of the compatibility and/orabsence of the item cluster.

The item cluster association module 312 associates a compatibilityidentifier (e.g., a token) with the item cluster 120 and/or associatesthe compatibility identifier with the additional parent item. Theassociation of the compatibility identifier with the additional parentitem may be based on the existence of the item cluster 120.

The parent item association module 314 associates the compatibilityidentifier with the parent item. The association identification module316 identifies an additional parent item associated with thecompatibility identifier.

The compatibility verification module 318 verifies that the further itemis compatible with the additional parent item. The item clustermodification module 320 modifies the item cluster 120 for the item andthe additional item based on compatibility of the item, the additionalitem, and the further item with the particular parent item and/orverification that the further item is compatible with the additionalparent item.

The notification receiver module 322 receives an incompatibilitynotification regarding the item and the parent item. The parent itemdetermination module 324 determines whether n additional parent item isassociated with the compatibility identifier.

The item verification module 326 verifies that the item is incompatiblewith the additional parent item. The item removal module 328 removes theitem from the item cluster 120 based on the receiving of theincompatibility notification and/or the verification of incompatibility.

FIG. 4 illustrates an example compatibility identification subsystem 400that may be deployed as the processing subsystem 112 in the clientmachine 102 and/or the provider 106 of the system 100 (see FIG. 1), orthat may be otherwise deployed in another system. The compatibilityidentification subsystem 400 may include a text access module 402, acompatibility identification module 404, an identifier usage module 406,an intersection module 408, a query verification module 410, a resultprovider module 412, a posting module 414, and/or an additionalinformation module 416. Other modules may also be included. In variousembodiments, the modules may be distributed so that some of the modulesmay be deployed in the client machine 102 and some of the modules may bedeployed in the provider 106.

The text access module 402 accesses compatibility-based text for an itemand/or additional compatibility-based text for the item. Thecompatibility-based text may be a compatibility-based search query, acompatibility-based listing, or the like.

The compatibility identification module 404 identifies a compatibilityidentifier based on the compatibility-based text and/or identifies anadditional compatibility identifier based on the compatibility-basedtext and/or the additional compatibility-based text. The compatibilityidentifier may be associated with the item cluster 120. The additionalcompatibility identifier may be associated with an additional itemcluster 120.

The identifier usage module 406 uses the compatibility identifier toidentify matching items and/or uses the additional compatibilityidentifier to identify additional matching items. The intersectionmodule 408 intersects the matching items with the additional matchingitems to obtain a matching result.

The query verification module 410 verifies the compatibility-basedsearch query based on identification of the matching items.

The result provider module 412 provides a result based on identificationof the matching items, intersection performed by the intersection module408, and/or verification of the compatibility-based search query.Providing the result may include modifying a listing for the item basedon identification of the matching items. The listing may include thecompatibility-based text. The posting module 414 posts the modifiedlisting of the item. For example, the listing may be posted in an onlinecommerce system that sells items at a fixed fee, via auction, orotherwise makes items available for sale.

The additional information module 416 receives a selection of a matchingitem based on the providing of the result, accesses the additionalinformation on the matching item (e.g., from the electronic catalog108), and provides additional information on the matching item.

FIG. 5 illustrates an example analysis subsystem 500 that may bedeployed as the processing subsystem 112 in the client machine 102and/or the provider 106 of the system 100 (see FIG. 1), or otherwisedeployed in another system. The analysis subsystem 500 may include anitem access module 502, a parent item identification module 504, acompanion item determination module 506, a non-included itemidentification module 508, a notification provider module 510, and/orthe item addition module 512. Other modules may also be included. Invarious embodiments, the modules may be distributed so that some of themodules may be deployed in the client machine 102 and some of themodules may be deployed in the provider 106.

The item access module 502 accesses items in a shopping basket. Theparent item identification module 504 identifies a parent itemassociated with the items.

The companion item determination module 506 determines companion itemsassociated with the parent item. The non-included item identificationmodule 508 identifies a non-included item in the shopping basket basedon the accessing of the plurality of items and determining the identityof companion items.

The notification provider module 510 provides a notification based onidentification of the non-included item. The item addition module 512adds the non-included item to the shopping basket.

In an example embodiment, one or more of the subsystems 200, 300, 400,500 may be deployed as the processing subsystem 112 in the system 100.

FIG. 6 illustrates a method 600 for text conversion according to anexample embodiment. The method 600 may be performed by the clientmachine 102 and/or the provider 106 of the system 100 (see FIG. 1), ormay be otherwise performed by another entity.

The method 600 may operate to convert free-form text (e.g., a free-formsearch query) into compatibility-based text (e.g., a compatibility-basedsearch query). The compatibility-based text may enable a user to receivemore accurate results that reflect desired matching items. The matchingitems may be the exact item requested or compatible with the itemrequested. For example, a free-form search query for a specific type ofMICROSOFT keyboard that includes a particular type of functionality(e.g., wireless connectivity) may be converted into acompatibility-based search query that may be used to return a result ofall the keyboards that include the same type of functionality or acomparable type of functionality. For example, a query might be enteredas “microsoft wireless keyboard 4000” to search for a MICROSOFT WirelessLaser Desktop 4000 wireless keyboard product and equivalent products.

The conversion of the free-form text into compatibility-based text bythe method 600 may increase consumer satisfaction with the results ofthe search and/or may enhance the likelihood that a product will be soldto the searching user. The method 600 may enable the user to locate adesired item even when the user fails to include a particular keyword inthe free-form text (e.g., the user may have entered a specificmanufacturer part number instead of the make and model of all the carsin which the part may work).

Free-form text associated with an item is received at block 602. Theitem may be, by way of example, an accessory for a consumer electronicproduct (e.g., a remote control), a car part (e.g., a short block of anengine), or the like. Other items may also be used. An example offree-form text includes “2004 Honda break pads”. The free-form text maybe in the form of a free-form search query or may be in another form.One or more terms are extracted from the free-form text at block 604.

The parent item may be identified at block 606. The parent item is anitem with which the item of the text may be used. The item may be a partof the parent item, usable with the parent item, or otherwise associatedwith the parent item. For example, the item may be a remote control andthe parent item may be a television, the item may be an air filter andthe parent item may be an engine, or the like.

The parent item may be identified based on extraction of the terms. Theparent item may be identified by requesting identification of the parentitem and receiving the identification of the parent item. The parentitem may be identified otherwise.

At block 608, the item is identified based on extraction of the terms.The item may be compatible with a parent item. In an example embodiment,an item name of the item may be identified during the operations atblock 608. The item name may be a term of the free-form text.

A determination of whether compatibility data 114 is available for theitem based on identification of the item may be made at block 610. Acompatibility-based notification may be provided at block 612. Thecompatibility-based notification may be provided based on availabilityof the compatibility data 114.

At block 614, an approval request may be provided to a user based onidentification of the item and/or providing of the compatibility-basednotification. An approval response may be received from the user atblock 616 based on providing the approval request.

At block 618, one or more item descriptors are identified in thefree-form text based on the extraction of the terms. The item descriptormay be one or more terms of the free-form text. The item descriptor maybe, by way of example, a make, a model year, an engine type, or a partnumber. For example, if the item is an engine, item descriptors in thefree form search may include “volvo” “2006”, and/or “turbo”.

Compatibility-based text is constructed for the item at block 620 basedon the identity of the parent item, identification of the itemdescriptor, availability of the compatibility data 114 for the item,and/or receiving an approval request. The compatibility-based text mayinclude a compatibility-based search query that is capable of being usedto search for matching items. The compatibility-based text may be usedat block 622. The compatibility-based text may be used to perform asearch, list an item in an online marketplace, or may be otherwise used.

FIG. 7 is an example diagram of compatibility data 700, 710. Thecompatibility data 700, 710 may be used as a portion of thecompatibility data 114 (see FIG. 1) or may otherwise be used.

The compatibility data 700 illustrates an item 702 associated with threeparent items 704, 706, 708. However, more or less parent items may beassociated with the item 702. An example of the compatibility data 700with example data is shown in FIG. 7 as an air filter 710 is associatedwith three vehicles 714, 716, 718.

The compatibility data 700, 710 may be implemented as a linkedassociation, a listing, or may otherwise be implemented in some form ofrelational format.

FIG. 8 illustrates a method 800 for text conversion according to anexample embodiment. The method 800 may be performed by the clientmachine 102 and/or the provider 106 of the system 100 (see FIG. 1), ormay be otherwise performed by another entity.

The method 800 may operate to convert free-form text (e.g., a free-formsearch query) into compatibility-based text (e.g., a compatibility-basedsearch query). The compatibility-based text may enable a user to receivemore accurate results that reflect desired matching items. The matchingitems may be the exact item requested or compatible with the itemrequested. For example, a free-form search query for a specific type ofMICROSOFT keyboard that includes a particular type of functionality(e.g., wireless connectivity) may be converted into acompatibility-based search query that may be used to return a result ofall the keyboards that include the same type of functionality or acomparable type of functionality.

The conversion of the free-form text into compatibility-based text bythe method 800 may increase consumer satisfaction with the results ofthe search and/or may enhance the likelihood that a product will be soldto the searching user. The method 800 may enable the user to locate adesired item even when the user fails to include a particular keyword inthe free-form text (e.g., the user may have entered a specificmanufacturer part number instead of the make and model of all the carsin which the part may work).

Free-form text associated with an item is received at block 802. An itemidentifier is identified within the free-form text at block 804. Theitem is identified based on the item identifier at block 806.

A parent item is identified based on extraction of terms at block 808.The identification of the parent item may include, by way of example,requesting identification of the parent item based on identification ofthe item and receiving the identification of the parent item.

Compatibility-based text is constructed for the item based on the parentitem and identification of the item at block 810. Thecompatibility-based text may be a compatibility-based query capable ofbeing used to search for matching items. The compatibility-based textmay be used at block 812. The compatibility-based text may be used toperform a search, list an item in an online marketplace, or may beotherwise used.

FIG. 9 illustrates a method 900 for query usage according to an exampleembodiment. The method 900 may be performed using information developedby performing the activities shown at block 622 of FIG. 6, and/or block812 of FIG. 8, or may be performed using other information.

The compatibility-based search query for the item is provided to thecompatibility search engine 122 at block 902. Identification of thematching items is received from the compatibility search engine 122based on providing the compatibility-based search query at block 904.

FIG. 10 illustrates a method 1000 for query usage according to anexample embodiment. The method 1000 may be performed using informationdeveloped by performing the activities shown at block 622 of FIG. 6,and/or block 812 of FIG. 8, or may be performed using other information.

Item identifiers may be selected based on the compatibility-based searchquery at block 1002. Matching items based are identified at block 1004based on the compatibility-based search query. Identification of thematching items may be based on selection of the item identifiers. Thematching items may be, by way of example, compatible parts for theparent item.

Availability of the matching items may be determined at block 1006. Thematching items may be determined by accessing the appropriate itemcluster 120 (see FIG. 1).

A query result based on identification of the matching items is providedat block 1008. Providing the query result may be based on theavailability of the matching items. The result may include, by way ofexample, one or more matching items.

FIG. 11 illustrates a method 1100 for clustering according to an exampleembodiment. The method 1100 may be performed by the client machine 102and/or the provider 106 of the system 110 (see FIG. 1), or may beotherwise performed by another entity.

The method 1100 may be used to record interoperability of one or moreitems with a parent item. For example, the method 1100 may be used toidentify the car parts that can be used with particular cars and/orwhich cars can use various parts, the computer peripherals that may beused with particular computer systems and/or the computer systems thatmay work with particular computer peripherals, or may be otherwise used.

Compatibility data 114 (see FIG. 1) is accessed for an item at block1102. The compatibility data 114 may include one or more parent itemswith which the item is compatible. A particular parent item isidentified within the compatibility data at block 1104.

Absence of the item cluster 120 for the item and an additional item maybe determined at block 1106. At block 1108, an item cluster is createdfor the item and an additional item based on compatibility of the itemand the additional item with the particular parent item. Thecompatibility may be reflected in the compatibility data 114. Thecreation of the item cluster may be based on the absence of the itemcluster.

A compatibility identifier is associated with the item cluster at block1110. The compatibility identifier is associated with the parent item atblock 1112.

FIG. 12 is an example diagram of example item clusters 1200, 1212. Theitem clusters 1200, 1212 may be used as a portion of the item clusters120 (see FIG. 1) or may otherwise be used.

The item cluster 1200 illustrates a compatibility identifier 1202associated with three items 1204, 1206, 1208. However, more or lessitems may be associated with the compatibility identifier 1202. A singleparent item 1210 is associated with the compatibility identifier 1202.However, multiple parent items may be associated with the compatibilityidentifier 1202.

An example of the item cluster 1200 using example data is shown in FIG.12. A compatibility identifier 1214 is associated with three filterbrands 1216, 1218, 1220. An air filter 1222 is associated with thecompatibility identifier 1214 as the parent item 1210.

FIG. 13 illustrates a method 1300 for clustering according to an exampleembodiment. The method 1300 may be performed by the client machine 102and/or the provider 106 of the system 100 (see FIG. 1), or may beotherwise performed by another entity.

The method 1300 may be used to record interoperability of one or moreitems with a parent item. For example, the method 1300 may be used toidentify the car parts that can be used with particular cars and/orwhich cars can use various parts, the computer peripherals that may beused with particular computer systems and/or the computer systems thatmay work with particular computer peripherals, or may be otherwise used.

Compatibility data 114 (see FIG. 1) is accessed for an item at block1302. The compatibility data 114 may include one or more parent itemswith which the item is compatible. A particular parent item isidentified within the compatibility data 114 at block 1304.

Compatibility of the item and the additional item with the particularparent item may be identified from the compatibility data 114 at block1306. At block 1308, the item cluster 120 is created for the item and anadditional item based on compatibility of the item and the additionalitem with the particular parent item from the compatibility data 114and/or identification of the compatibility.

A compatibility identifier is associated with the item cluster 120 atblock 1310. The compatibility identifier is associated with the parentitem at block 1312.

FIG. 14 illustrates a method 1400 for clustering according to an exampleembodiment. The method 1400 may be performed by the client machine 102and/or the provider 106 of the system 100 (see FIG. 1), or may beotherwise performed by another entity.

The method 1400 may be used to record interoperability of one or moreitems with a parent item. For example, the method 1400 may be used toidentify the car parts that can be used with particular cars and/orwhich cars can use various parts, the computer peripherals that may beused with particular computer systems and/or the computer systems thatmay work with particular computer peripherals, or may be otherwise used.

Compatibility data 114 (see FIG. 1) is accessed for an item at block1402. The compatibility data 114 may include a list of parent items withwhich the item is compatible. A particular parent item is identifiedwithin the compatibility data 114 at block 1404.

At block 1406, the item cluster 120 (see FIG. 1) is created for the itemand an additional item based on compatibility of the item and theadditional item with the particular parent item from the compatibilitydata 114. A compatibility identifier is associated with the item cluster120 at block 1408. The compatibility identifier is associated with theparent item at block 1410.

Additional compatibility data 114 for a further item is accessed atblock 1412. The additional compatibility data 114 may be received from auser or otherwise accessed. An additional parent item associated withthe compatibility identifier is identified at block 1414. For example,the additional parent item may be identified as also being compatiblewith the items of the item cluster 120.

Verification that the further item is compatible with the additionalparent item may be performed at block 1416. The verification may includeanalyzing the additional compatibility data 114 for the further item toverify that the further item is compatible with the additional parentitem. The verification may include providing a request for compatibilityverification that the further item is compatible with the additionalparent item to the compatibility search engine 122 and receiving thecompatibility verification in response to the providing of the request.

At block 1418, the item cluster 120 for the item and the additional itemmay be modified based on compatibility of the item, the additional item,and the further item with the particular parent item and/or verificationthat the further item is compatible with the additional parent item.

The item cluster may be modified to include the further item to reflectthat the further item is also compatible with the parent item. Forexample, an additional air filter that has the same compatibility as agroup of other air filters may be added as a further item to the itemcluster 120 for the air filters.

FIG. 15 illustrates a method 1500 for clustering according to an exampleembodiment. The method 1500 may be performed by the client machine 102and/or the provider 106 of the system 100 (see FIG. 1) or may beotherwise performed.

The method 1500 may be used, in an example embodiment to remove anincompatible item from the item cluster 120.

Compatibility data 114 (see FIG. 1) is accessed for an item at block1502. The compatibility data 114 may include one or more parent itemswith which the item is compatible. A particular parent item isidentified within the compatibility data 114 at block 1504.

At block 1506, the item cluster 120 (see FIG. 1) is created for the itemand an additional item based on compatibility of the item and theadditional item with the particular parent item from the compatibilitydata 114.

A compatibility identifier is associated with the item cluster 114 atblock 1508. The compatibility identifier is associated with the parentitem at block 1510.

An additional parent item associated with the compatibility identifiermay be identified at block 1512. An incompatibility notificationregarding the item and the parent item may be received at block 1514.Verification that the item is incompatible with the additional parentitem may be made at block 1516.

The item may be removed from the item cluster 120 based on the receivingof the incompatibility notification and/or the incompatibilityverification at block 1518.

FIG. 16 illustrates a method 1600 for clustering according to an exampleembodiment. The method 1600 may be performed by the client machine 102and/or the provider 106 of the system 100 (see FIG. 1), or may beotherwise performed by another entity.

The method 1600 may be used to record interoperability of one or moreitems with a parent item. For example, the method 1600 may be used toidentify the car parts that can be used with particular cars and/orwhich cars can use various parts, the computer peripherals that may beused with particular computer systems and/or the computer systems thatmay work with particular computer peripherals, or may be otherwise used.

Compatibility data 114 (see FIG. 1) is accessed for an item at block1602. The compatibility data 114 may include parent items with which theitem is compatible. A particular parent item is identified on thecompatibility data 114 at block 1604.

At block 1606, the item cluster 120 (see FIG. 1) is created for the itemand an additional item based on compatibility of the item and theadditional item with the particular parent item from the compatibilitydata 114.

A compatibility identifier is associated with the item cluster 120 atblock 1608. The compatibility identifier is associated with the parentitem at block 1610.

An additional parent item may be identified on the compatibility listingat block 1612. Compatibility of the item and the additional item withthe additional parent item may be determined from the item listing atblock 1614.

Existence of the item cluster 114 for the item and the additional itemmay be determined at block 1616. The compatibility identifier may beassociated with the additional parent item at block 1618. Theassociation of the compatibility identifier with the additional parentitem may be based on the existence of the item cluster 120.

FIG. 17 illustrates a method 1700 for compatibility identificationaccording to an example embodiment. The method 1700 may be performed bythe client machine 102 and/or the provider 106 of the system 100 (seeFIG. 1), or may be otherwise performed by another entity.

The method 1700 may be used, in an example embodiment, to locate items(e.g., parts or accessories) that will work with (e.g., fit) aparticular parent item. The method 1700 may decompress compressedcompatibility data 114 by use of a compatibility identifier.

Compatibility-based text is accessed for an item at block 1702. Thecompatibility-based text may include, by way of example, acompatibility-based search query, a compatibility-based listing, or thelike.

A compatibility identifier is identified based on thecompatibility-based text at block 1704. The compatibility identifier maybe associated with the item cluster 120 (see FIG. 1).

The compatibility identifier is used to identify matching items at block1706. The compatibility-based search query may be verified based onidentification of the matching items at block 1708.

An additional compatibility identifier may be identified based on thecompatibility-based text at block 1710. The additional compatibilityidentifier may be associated with an additional item cluster 120. Theadditional compatibility identifier may be used to identify additionalmatching items at block 1712. For example, the compatibility-based textmay be used to match more than one item cluster 120. By way of example,the compatibility-based text for the terms “canon digital rebel camera”may be used to match a first item cluster for compatible lens, a seconditem cluster for compatible flashes, a third item cluster for compatiblegrips, and so on.

The matching items may be intersected with the additional matching itemsto obtain a result at block 1714. The intersection may identify itemsthat are common in both sets of matching items. For example, thecompatibility-based text for the terms “canon digital camera” mayidentify a first item cluster that is for items compatible with a pointand shoot camera and a second item cluster that is for items compatiblewith a digital SLR camera. The intersection of the item clusters mayreveal items that are compatible with both types of cameras (e.g.,tripods).

A result is provided based on identification of the matching itemsand/or the intersecting at block 1716. Providing the result may be basedon verification of the compatibility-based search query.

A selection of a particular matching item of the matching items may bereceived based on the providing of the result at block 1718. Theadditional information on the particular matching item may be accessedfrom the electronic catalog 108 at block 1720.

Additional information on the particular matching item may be providedat block 1722. Providing the additional information may be based onaccessing the additional information.

FIG. 18 illustrates a method 1800 for compatibility identificationaccording to an example embodiment. The method 1800 may be performed bythe client machine 102 and/or the provider 106 of the system 100 (seeFIG. 1), or may be otherwise performed by another entity.

Compatibility-based text is accessed for an item at block 1802. Thecompatibility-based text may include, by way of example, acompatibility-based search query, a compatibility-based listing, or thelike.

A compatibility identifier is identified based on thecompatibility-based text at block 1804. The compatibility identifier maybe associated with the item cluster 120 (see FIG. 1). The compatibilityidentifier is used to identify matching items at block 1806.

The compatibility-based search query may be verified based onidentification of the matching items at block 1808. Additionalcompatibility-based text may be accessed for the item at block 1810.

An additional compatibility identifier may be identified based on theadditional compatibility-based text at block 1812. The additionalcompatibility identifier may be associated with an additional itemcluster 120.

The additional compatibility identifier may be used to identifyadditional matching items at block 1814. The matching items may beintersected with the additional matching items to obtain a matchingresult at block 1816.

A matching result is provided based on identification of the matchingitems and/or the intersecting at block 1818. The providing of thematching result may be based on verification the compatibility-basedsearch query.

A selection of a particular matching item of the matching items may bereceived based on providing the matching result at block 1820. Theadditional information on the particular matching item may be accessedfrom an electronic catalog at block 1822.

Additional information on the particular matching item may be providedat block 1824. The providing of the additional information may be basedon the accessing of the additional information.

FIG. 19 illustrates a method 1900 for compatibility identificationaccording to an example embodiment. The method 1900 may be performed bythe client machine 102 and/or the provider 106 of the system 100 (seeFIG. 1), or may be otherwise performed by another entity.

Compatibility-based text is accessed for an item at block 1902. Thecompatibility-based text may include, by way of example, acompatibility-based search query, a compatibility-based listing, or thelike.

A compatibility identifier is identified based on thecompatibility-based text at block 1904. The compatibility identifier maybe associated with the item cluster 120 (see FIG. 1). The compatibilityidentifier is used to identify matching items at block 1906.

The compatibility-based text may be verified based on identification ofthe matching items at block 1908. A listing for the item is modifiedbased on identification of the matching items at block 1910. The listingmay include the compatibility-based text. Providing the listing may bebased on verification of the compatibility-based search query. Themodified listing of the item may be posted at block 1912.

FIG. 20 illustrates a method 2000 for item analysis according to anexample embodiment. The method 2000 may be performed by the clientmachine 102 and/or the provider 106 of the system 100 (see FIG. 1), ormay be otherwise performed by another entity.

In an example embodiment, the method 200 may be used to identifyadditional items that may be of interest to a user based on itemscurrently included in an electronic shopping basket.

Items in a shopping basket are accessed at block 2002. A parent itemassociated with the items is identified at block 2004. The parent itemmay be identified based on the compatibility data 114 (see FIG. 1) ormay be otherwise identified.

Companion items associated with the parent item may be determined atblock 2006. At block 2008, a non-included item in the shopping basketmay be identified based on the accessing of the items and thedetermining of the companion items.

The non-included item may be added to the shopping basket at block 2010.A notification may be provided based on identification of thenon-included item and/or the addition of the non-included item to theshopping basket at block 2012.

FIG. 21 is a network diagram depicting a client-server system 2100,within which various embodiments may be deployed. By way of example, anetwork 2104 may include the functionality of the network 104, theprovider 106 may be deployed within an application server 2118, and theclient machine 102 may include the functionality of a client machine2110 or a client machine 2112. The system 2100 may also be deployed as apart of other systems.

A networked system 2102, in the example form of a network-basedmarketplace or publication system, provides server-side functionality,via a network 2104 (e.g., the Internet or Wide Area Network (WAN)) toone or more clients. FIG. 21 illustrates, for example, a web client 2106(e.g., a browser, such as the Internet Explorer browser developed byMicrosoft Corporation of Redmond, Wash.), and a programmatic client 2108executing on respective client machines 2110 and 2112.

An Application Program Interface (API) server 2114 and a web server 2116are coupled to, and provide programmatic and web interfaces respectivelyto, one or more application servers 2118. The application servers 2118host one or more marketplace applications 2120 and authenticationproviders 2122. The application servers 2118 are, in turn, shown to becoupled to one or more databases servers 2124 that facilitate access toone or more databases 2126.

The marketplace applications 2120 may provide a number of marketplacefunctions and services to users that access the networked system 2102.The authentication providers 2122 may likewise provide a number ofpayment services and functions to users. The authentication providers2122 may allow users to accumulate value (e.g., in a commercialcurrency, such as the U.S. dollar, or a proprietary currency, such as“points”) in accounts, and then later to redeem the accumulated valuefor products (e.g., goods or services) that are made available via themarketplace applications 2120. While the marketplace and authenticationproviders 2120 and 2122 are shown in FIG. 21 to both form part of thenetworked system 2102, in alternative embodiments the authenticationproviders 2122 may form part of a payment service that is separate anddistinct from the networked system 2102.

Further, while the system 2100 shown in FIG. 21 employs a client-serverarchitecture, the various embodiments of the invention are of course notlimited to such an architecture, and could equally well find applicationin a distributed, or peer-to-peer, architecture system, for example. Thevarious marketplace and authentication providers 2120 and 2122 couldalso be implemented as standalone software programs, which need not havenetworking capabilities.

The web client 2106 accesses the various marketplace and authenticationproviders 2120 and 2122 via the web interface supported by the webserver 2116. Similarly, the programmatic client 2108 accesses thevarious services and functions provided by the marketplace andauthentication providers 2120 and 2122 via the programmatic interfaceprovided by the API server 2114. The programmatic client 2108 may, forexample, be a seller application (e.g., the TurboLister™ applicationdeveloped by eBay Inc., of San Jose, Calif.) to enable sellers to authorand manage listings on the networked system 2102 in an off-line manner,and to perform batch-mode communications between the programmatic client2108 and the networked system 2102.

FIG. 21 also illustrates a third party application 2128, executing on athird party server machine 2130, as having programmatic access to thenetworked system 2102 via the programmatic interface provided by the APIserver 2114. For example, the third party application 2128 may,utilizing information retrieved from the networked system 2102, supportone or more features or functions on a website hosted by the thirdparty. The third party may, for example, provide one or morepromotional, marketplace or payment functions that are supported by therelevant applications of the networked system 2102.

FIG. 22 is a block diagram illustrating multiple applications 2120 and2122 that may be provided as part of the networked system 2102 (see FIG.21). The applications 2120 may be hosted on dedicated or shared servermachines (not shown) that are communicatively coupled to enablecommunications between server machines. The applications themselves arecommunicatively coupled (e.g., via appropriate interfaces) to each otherand to various data sources, so as to allow information to be passedbetween the applications or so as to allow the applications to share andaccess common data. The applications may operate to access one or moredatabases 2126 via the database servers 2124.

The networked system 2102 may provide a number of publishing, listingand price-setting mechanisms whereby a seller may list (or publishinformation concerning) goods or services for sale, a buyer can expressinterest in or indicate a desire to purchase such goods or services, anda price can be set for a transaction pertaining to the goods orservices. To this end, the marketplace applications 2120 are shown toinclude at least one publication application 2200 and one or moreauction applications 2202 which support auction-format listing and pricesetting mechanisms (e.g., English, Dutch, Vickrey, Chinese, Double,Reverse auctions etc.). The various auction applications 2202 may alsoprovide a number of features in support of such auction-format listings,such as a reserve price feature whereby a seller may specify a reserveprice in connection with a listing and a proxy-bidding feature whereby abidder may invoke automated proxy bidding.

A number of fixed-price applications 2204 support fixed-price listingformats (e.g., the traditional classified advertisement-type listing ora catalogue listing) and buyout-type listings. Specifically, buyout-typelistings (e.g., including the Buy-It-Now (BIN) technology developed byeBay Inc., of San Jose, Calif.) may be offered in conjunction withauction-format listings, and allow a buyer to purchase goods orservices, which are also being offered for sale via an auction, for afixed-price that is typically higher than the starting price of theauction.

Store applications 2206 allow a seller to group listings within a“virtual” store, which may be branded and otherwise personalized by andfor the seller. Such a virtual store may also offer promotions,incentives and features that are specific and personalized to a relevantseller.

Reputation applications 2208 allow users that transact, utilizing thenetworked system 2102, to establish, build and maintain reputations,which may be made available and published to potential trading partners.Consider that where, for example, the networked system 2102 supportsperson-to-person trading, users may otherwise have no history or otherreference information whereby the trustworthiness and credibility ofpotential trading partners may be assessed. The reputation applications2208 allow a user, for example through feedback provided by othertransaction partners, to establish a reputation within the networkedsystem 2102 over time. Other potential trading partners may thenreference such a reputation for the purposes of assessing credibilityand trustworthiness.

Personalization applications 2210 allow users of the networked system2102 to personalize various aspects of their interactions with thenetworked system 2102. For example a user may, utilizing an appropriatepersonalization application 2210, create a personalized reference pageat which information regarding transactions to which the user is (or hasbeen) a party may be viewed. Further, a personalization application 2210may enable a user to personalize listings and other aspects of theirinteractions with the networked system 2102 and other parties.

The networked system 2102 may support a number of marketplaces that arecustomized, for example, to operate in specific geographic regions. Aversion of the networked system 2102 may be customized for operations inthe United Kingdom, whereas another version of the networked system 2102may be customized for operations in the United States. Each of theseversions may operate as an independent marketplace, or may be customized(or internationalized and/or localized) presentations of a commonunderlying marketplace. The networked system 2102 may accordinglyinclude a number of internationalization applications 2212 thatcustomize information (and/or the presentation of information) by thenetworked system 2102 according to predetermined criteria (e.g.,geographic, demographic or marketplace criteria). For example, theinternationalization applications 2212 may be used to support thecustomization of information for a number of regional websites that areoperated by the networked system 2102 and that are accessible viarespective web servers 2116.

Navigation of the networked system 2102 may be facilitated by one ormore navigation applications 2214. For example, a search application (asan example of a navigation application) may enable key word searches oflistings published via the networked system 2102. A browse applicationmay allow users to browse various category, catalogue, or systeminventory structures according to which listings may be classifiedwithin the networked system 2102. Various other navigation applicationsmay be provided to supplement the search and browsing applications.

In order to make listings available via the networked system 2102informative and attractive, the marketplace applications 2120 mayinclude one or more imaging applications 2216 utilizing which users mayupload images for inclusion within listings. An imaging application 2216also operates to incorporate images within viewed listings. The imagingapplications 2216 may also support one or more promotional features,such as image galleries that are presented to potential buyers. Forexample, sellers may pay an additional fee to have an image includedwithin a gallery of images for promoted items.

Listing creation applications 2218 allow sellers conveniently to authorlistings pertaining to goods or services that they wish to transact viathe networked system 2102, and listing management applications 2200allow sellers to manage such listings. Specifically, where a particularseller has authored and/or published a large number of listings, themanagement of such listings may present a challenge. The listingmanagement applications 2200 provide a number of features (e.g.,auto-relisting, inventory level monitors, etc.) to assist the seller inmanaging such listings. One or more post-listing management applications2202 also assist sellers with a number of activities that typicallyoccur post-listing. For example, upon completion of an auctionfacilitated by one or more auction applications 2102, a seller may wishto leave feedback regarding a particular buyer. To this end, apost-listing management application 2202 may provide an interface to oneor more reputation applications 2208, so as to allow the sellerconveniently to provide feedback regarding multiple buyers to thereputation applications 2208.

Dispute resolution applications 2214 provide mechanisms whereby disputesarising between transacting parties may be resolved. For example, thedispute resolution applications 2214 may provide guided procedureswhereby the parties are guided through a number of steps in an attemptto settle a dispute. In the event that the dispute cannot be settled viathe guided procedures, the dispute may be escalated to a merchantmediator or arbitrator.

A number of fraud prevention applications 2226 implement fraud detectionand prevention mechanisms to reduce the occurrence of fraud within thenetworked system 2102.

Messaging applications 2228 may be used to generate and deliver messagesto users of the networked system 2102, such messages for example mayadvise users regarding the status of listings at the networked system2102 (e.g., providing “outbid” notices to bidders during an auctionprocess or to provide promotional and merchandising information tousers). Respective messaging applications 2228 may utilize any one of anumber of message delivery networks and platforms to deliver messages tousers. For example, messaging applications 2228 may deliver electronicmail (e-mail), instant message (IM), Short Message Service (SMS), text,facsimile, or voice (e.g., Voice over IP (VoIP)) messages via the wired(e.g., the Internet), Plain Old Telephone Service (POTS), or wireless(e.g., mobile, cellular, WiFi, WiMAX) networks.

Merchandising applications 2230 support various merchandising functionsthat are made available to sellers to enable sellers to increase salesvia the networked system 2102. The merchandising applications 2230 alsooperate the various merchandising features that may be invoked bysellers, and may monitor and track the success of merchandisingstrategies employed by sellers.

The networked system 2102 itself, or one or more parties that transactvia the networked system 2102, may operate loyalty programs that aresupported by one or more loyalty/promotions applications 2232. Forexample, a buyer may earn loyalty or promotions points for eachtransaction established and/or concluded with a particular seller, andmay be offered a reward for which accumulated loyalty points can beredeemed.

FIG. 23 shows a block diagram of a machine in the example form of acomputer system 2300. A set of instructions may be executed by thecomputer system 2300, causing the machine to perform any one or more ofthe methods, processes, operations, or methodologies discussed herein.For example, the provider 106 and/or the compatibility search engine 122may operate on one or more computer systems 2300 (see FIG. 1). Theclient machine 102 may include the functionality of the one or morecomputer systems 2300.

The machine may operate as a standalone device, or may be connected(e.g., networked) to other machines. In a networked deployment, themachine may operate in the capacity of a server or a client machine inserver-client network environment, or as a peer machine in apeer-to-peer (or distributed) network environment. The machine may be aserver computer, a client computer, a personal computer (PC), a tabletPC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellulartelephone, a web appliance, a network router, switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while only a single machine is illustrated, the term “machine” shallalso be taken to include any collection of machines that individually orjointly execute a set (or multiple sets) of instructions to perform anyone or more of the methodologies discussed herein.

The example computer system 2300 includes a processor 2302 (e.g., acentral processing unit (CPU) a graphics processing unit (GPU) or both),a main memory 2304 and a static memory 2306, which communicate with eachother via a bus 2308. The computer system 2300 may further include avideo display unit 2310 (e.g., a liquid crystal display (LCD) or acathode ray tube (CRT)). The computer system 2300 also includes analphanumeric input device 2312 (e.g., a keyboard), a cursor controldevice 2314 (e.g., a mouse), a drive unit 2316, a signal generationdevice 2318 (e.g., a speaker) and a network interface device 2320.

The drive unit 2316 includes a machine-readable medium 2322 on which isstored one or more sets of instructions (e.g., software 2324) embodyingany one or more of the methodologies or functions described herein. Thesoftware 2324 may also reside, completely or at least partially, withinthe main memory 2304 and/or within the processor 2302 during executionthereof by the computer system 2300, the main memory 2304 and theprocessor 2302 also constituting machine-readable media.

The software 2324 may further be transmitted or received over a network2326 via the network interface device 2320.

While the machine-readable medium 2322 is shown in an example embodimentto be a single medium, the term “machine-readable medium” should betaken to include a single medium or multiple media (e.g., a centralizedor distributed database, and/or associated caches and servers) thatstore the one or more sets of instructions. The term “machine-readablemedium” shall also be taken to include any medium that is capable ofstoring, encoding or carrying a set of instructions for execution by themachine and that cause the machine to perform any one or more of themethodologies of the present invention. The term “machine-readablemedium” shall accordingly be taken to include, but not be limited to,solid-state memories, optical, and magnetic media, and carrier wavesignals.

Certain systems, apparatus, applications or processes are describedherein as including a number of modules or mechanisms. A module or amechanism may be a unit of distinct functionality that can provideinformation to, and receive information from, other modules.Accordingly, the described modules may be regarded as beingcommunicatively coupled. Modules may also initiate communication withinput or output devices, and can operate on a resource (e.g., acollection of information). The modules be implemented as hardwarecircuitry, optical components, single or multi-processor circuits,memory circuits, software program modules and objects, firmware, andcombinations thereof, as appropriate for particular implementations ofvarious embodiments.

In an example embodiment, free-form text associated with an item may bereceived. The item may be identified based on the free-form text. Theitem may be compatible with a parent item. The parent item may beidentified based on the free-form text. An item descriptor may beidentified in the free-form text. The item descriptor may be aparticular term of the free-form text. Compatibility-based text may beconstructed for the item based on identification of the parent item andthe item descriptor. The compatibility-based text may be capable ofbeing used to identify a plurality of matching items.

In an example embodiment, a free-form search query for an item may bereceived. An item identifier within the free-form search query may beidentified. The item may be identified based on the item identifier. Aparent item may be identified based on the extracting of the pluralityof terms. A particular compatibility-based search query may beconstructed for the item based on the parent item and identification ofthe item. The particular compatibility-based search query may be capableof being used to search for a plurality of matching items.

In an example embodiment, compatibility data may be accessed for anitem. The compatibility data may include a plurality of parent itemswith which the item is compatible. A particular parent item within thecompatibility data may be identified. An item cluster for the item andan additional item may be created based on compatibility of the item andthe additional item with the particular parent item within thecompatibility data. A compatibility identifier may be associated withthe item cluster. The compatibility identifier may be associated withthe parent item.

In an example embodiment, compatibility-based text for an item may beaccessed. A compatibility identifier may be identified based on thecompatibility-based text. The compatibility identifier may be associatedwith an item cluster. The compatibility identifier may be used toidentify a plurality of matching items. A result may be provided basedon identification of the plurality of matching items.

In an example embodiment, a plurality of items in a shopping basket maybe accessed. A parent item associated with the plurality of items may beidentified. A plurality of companion items associated with the parentitem may be determined. A non-included item in the shopping basket maybe identified based on the accessing of the plurality of items and thedetermining of the plurality of companion items.

Thus, methods and systems for text conversion have been described.Although embodiments of the invention have been described with referenceto specific examples, it will be evident that various modifications andchanges may be made without departing from the broader scope of thevarious embodiments. Accordingly, the specification and drawings are tobe regarded in an illustrative rather than a restrictive sense.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separate embodiment.

1. A method comprising: receiving free-form text associated with anitem; identifying the item based on the free-form text, the item beingcompatible with a parent item; identifying the parent item based on thefree-form text; identifying an item descriptor in the free-form text,the item descriptor being a particular term of the free-form text; andconstructing compatibility-based text for the item based onidentification of the parent item and the item descriptor, thecompatibility-based text capable of being used to identify a pluralityof matching items.
 2. The method of claim 1, further comprising:extracting a plurality of terms from the free-form text, wherein theidentifying of the item and the identifying of the item descriptor isbased on the extracting of the plurality of terms.
 3. The method ofclaim 2, wherein the identifying of the item comprises: identifying anitem name of the item, the item name being another term of the pluralityof terms.
 4. The method of claim 1, further comprising: identifying theplurality of matching items based on the compatibility-based text; andproviding a result based on the identifying of the plurality of matchingitems.
 5. The method of claim 4, further comprising: determiningavailability of the plurality of matching items, wherein the providingof the result is based on the availability of the plurality of matchingitems.
 6. The method of claim 4, further comprising: selecting aplurality of item identifiers based on the compatibility-based text,wherein the identifying of the plurality of matching items is based onselection of the plurality of item identifiers.
 7. The method of claim4, wherein the result includes the plurality of matching items or aparticular matching item of the plurality of matching items.
 8. Themethod of claim 4, wherein the plurality of matching items comprise aplurality of compatible parts for the parent item.
 9. The method ofclaim 1, further comprising: providing the compatibility-based text forthe item to a compatibility search engine; and receiving identificationof the plurality of matching items from the compatibility search enginebased on the providing of the compatibility-based text.
 10. The methodof claim 1, further comprising: determining whether compatibility datais available for the item based on the identifying of the item, whereinthe constructing of the particular compatibility-based text is based onavailability of the compatibility data for the item.
 11. The method ofclaim 10, further comprising: providing a compatibility-basednotification of availability of the compatibility-based text for theitem based on availability of the compatibility-based information. 12.The method of claim 1, wherein the item comprises a part of the parentitem.
 13. The method of claim 1, wherein the free-form text associatedwith the item comprises a free-from search query for the item.
 14. Themethod of claim 1, wherein the free-form text associated with the itemcomprises an item listing for the item.
 15. The method of claim 1,wherein the constructing of the compatibility-based text comprises:constructing a particular compatibility-based search query for the itembased on identification of the parent item and the item descriptor, theparticular compatibility-based search query capable of being used tosearch for the plurality of matching items.
 16. A method comprising:receiving free-form text associated with an item; identifying the itembased on the free-form text, the item being compatible with a parentitem; requesting identification of the parent item based on theidentifying of the item; and receiving the identification of the parentitem in response to the requesting of the identification; identifying anitem descriptor in the free-form text, the item descriptor being aparticular term of the free-form text; and constructingcompatibility-based text for the item based on identification of theparent item and the item descriptor, the compatibility-based textcapable of being used to identify a plurality of matching items.
 17. Themethod of claim 16, further comprising: extracting a plurality of termsfrom the free-form text, wherein the identifying of the item and theidentifying of the item descriptor is based on the extracting of theplurality of terms.
 18. The method of claim 16, further comprising:identifying the plurality of matching items based on thecompatibility-based text; and providing a result based on theidentifying of the plurality of matching items.
 19. The method of claim1, wherein the free-form text associated with the item is an itemlisting for the item.
 20. The method of claim 1, wherein theconstructing of the compatibility-based text comprises: constructing aparticular compatibility-based search query for the item based onidentification of the parent item and the item descriptor, theparticular compatibility-based search query capable of being used tosearch for the plurality of matching items.
 21. The method of claim 16,wherein the item descriptor is a make, a model year, an engine type, ora part number.
 22. A machine-readable medium comprising instructions,which when executed by one or more processors, results in the one ormore processors performing the following operations: receive free-formtext associated with an item; identify the item based on the free-formtext, the item being compatible with a parent item; identify the parentitem as an identified parent based on the free-form text; identify anitem descriptor in the free-form text as an identified descriptor, theitem descriptor being a particular term of the free-form text; andconstruct compatibility-based text for the item based on the identifiedparent and the identified descriptor, the compatibility-based textcapable of being used to identify a plurality of matching items.
 23. Themachine-readable medium of claim 22 further comprising instructions,which when executed by the one or more processors results in the one ormore processors performing the following operations: determineavailability of the plurality of matching items, wherein the result isprovided based on the availability of the plurality of matching items.24. A system comprising: a free-form text receiver module to receivefree-form text associated with an item; an item identification module toidentify the item based on the free-form text received by the free-formtext receiver module, the item being compatible with a parent item; aparent item identification module to identify the parent item based onthe free-form text received by the free-form text receiver module; anitem descriptor identification module to identify an item descriptor inthe free-form text received by the free-form text receiver module, theitem descriptor being a particular term of the free-form text; and acompatibility-based text construction module to constructcompatibility-based text for the item based on identification of theparent item by the parent item identification module and the itemdescriptor by the item descriptor identification module, thecompatibility-based text capable of being used to identify a pluralityof matching items.
 25. The system of claim 14, further comprising: aterm extraction module to extract a plurality of terms from thefree-form text, wherein identification of the item by the itemidentification module and identification of the item descriptor is basedon extraction of the plurality of terms by the term extraction module.